package com.springBoot.util.exceptionHandler;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * @全局异常处理工具类
 * @类  GlobalExceptionHandler<br/>
 * @作者  徐晓辉<br/>
 * @公司  杰迪数码科技<br/>
 * @日期  2018年10月19日<br/>
 */
@ControllerAdvice
public class GlobalExceptionHandler {

	@ExceptionHandler(ArithmeticException.class)
	public String arithmeticException(HttpServletRequest request) {
		request.setAttribute("errorMessage", "算术异常,请联系管理员！！！");
		return "errorPage";
	}

	@ExceptionHandler(RuntimeException.class)
	public String runtimeException(HttpServletRequest request) {
		request.setAttribute("errorMessage", "运行时发生未知异常,请联系管理员！！！");
		return "errorPage";
	}

	@ExceptionHandler(Exception.class)
	public String exception(HttpServletRequest request, Exception e) {
		String errorMessage = "发生了一个很严重的异常,请联系管理员！！！";
		if (e instanceof org.springframework.web.servlet.NoHandlerFoundException) {
			errorMessage = "页面未找到，是不是地址不对呢？";
		}
		request.setAttribute("errorMessage", errorMessage);
		return "errorPage";
	}

}
